import { Size, size } from 'cc';

/**
 * 游戏UI参数配置
 * 固定配置，不可动态修改
 */
export namespace UIConfig {
    // 游戏行数
    export const ROW: number = 5;
    // 游戏列数
    export const COL: number = 5;
    // 游戏方块边长
    export const WIDTH: number = 70;
    // 方块间隔
    export const SPACE: number = 5;
    // 托盘背景边距
    export const PADDING: number = 5;

    /**
     * 小瓦块的尺寸
     * @returns 
     */
    export function tileSize(): Size {
        return size(WIDTH, WIDTH);
    }

    /** 瓦块图表列表 */
    export const ICON_LIST: string[] = ["blue", "green", "grey", "pink", "red", "yellow"];

    /** 瓦块图标计数 */
    export function iconCnt(): number {
        return ICON_LIST.length;
    }
}

/**
 * 滑动方向
 */
export enum Direction {
    Up = 1, // 上
    Down, // 下
    Left, // 左
    Right, // 右
}

/**
 * 可以消除的组合类型
 */
export enum ComboType {
    Horizontal = 1, // 横型
    Vertical, // 竖型
    Cross, // 十字型
    TShape, // T 型
    LShape, // L 型
}

/** 色块点击事件 */
export const EVENT_TILE_CLICK: string = "EVENT_TILE_CLICK";

/** 色块移动事件 */
export const EVENT_TILE_MOVE: string = "EVENT_TILE_MOVE";
